﻿using MiniFox.Infrastructure;
using MiniFox.Infrastructure.Attributes;

namespace Sys.Core.Models.Queries
{
    public class MailQuery
    {
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("AccountName", QueryOperation.Equal)]
        public string? AccountName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("Receiver", QueryOperation.Contain)]
        public string? Receiver { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("TemplateName", QueryOperation.Equal)]
        public string? TemplateName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("Title", QueryOperation.Contain)]
        public string? Title { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("SendTime", QueryOperation.GreaterThanOrEqual)]
        public DateTime? BeginTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [TargetProperty("SendTime", QueryOperation.LessThanOrEqual)]
        public DateTime? EndTime { get; set; }
    }
}
